/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"307DD50A-0329-4BA8-8F33-1CBE7B2F450D",variableType:8}
 */
var T_importe = 0;

/**
 *
 * @properties={typeid:24,uuid:"A64EECCC-F5AD-44B9-8F45-B96B65D182D2"}
 * @AllowToRunInFind
 */
function buscar()
{
	var $params = {
		pUserv: globals.gUservID,
		userv: uservs_to_uservs.razon_social,
		pFechaDesde: globals.gFechaDesde,
		pFechaHasta: globals.gFechaHasta,
		pTitulo: 'Ficha Maestra de Ventas Desde '+ utils.dateFormat(globals.gFechaDesde,'dd-MM-yyyy') + ' Hasta ' + utils.dateFormat(globals.gFechaHasta,'dd-MM-yyyy') 
	}
	
	globals.metodoJasper('impresion','ventas/ficha_maestra.jasper','Ficha_maestra','infocom',$params)
	
/*if ((globals.gFechaDesde != null) && (globals.gFechaHasta != null))
{
	databaseManager.setAutoSave(true)
	forms.ficha_1.controller.find()
	//Rango de Fechas //////////////////////////////
	var d1 = globals.gFechaDesde
	d1.setHours(00);
	d1.setMinutes(00);
	d1.setSeconds(00);             
	var df1 = utils.dateFormat(d1, 'dd-MM-yyyy HH:mm:ss')
	
	var d2 = globals.gFechaHasta
	d2.setHours(23);
	d2.setMinutes(59);
	d2.setSeconds(59);
	var df2 = utils.dateFormat(d2, 'dd-MM-yyyy HH:mm:ss')
	
	forms.ficha_1.fecha_mov = df1+'...' + df2+'|dd-MM-yyyy HH:mm:ss'
		
	//Busco, si encuentra muestra la pantalla y sino, avisa que no encontro nada
	var found = forms.ficha_1.controller.search()
	if (found == 0)
	{
		globals.DIALOGS.showWarningDialog('Aviso','No se encontraron movimientos con esas condiciones','OK')
	}
	else
		foundset.sort('cod_mov asc')
		//*globals.mostrarForm("ficha_2"); // para llamar a ficha_2 que tenia el dataset se reemplaza por lo sig.
		   
	
	// arma dataset con todos lo movs
	var fs_mov= databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'tab_mov_cl')
	fs_mov.find()
	var found_mov=fs_mov.search()
	if (found_mov == 0)
    {
	   globals.DIALOGS.showWarningDialog('Aviso','No están cargados los tipos de movimientos de Cta. Cte.','OK')
    }
    else
    {	
    //?  ////// poner columnas neto, iva tambien? //? el de espel lo tenia
    
	T_importe=0
	//uno_mas=found_mov + 1
	var uno_mas=200 + 1
	var tabla_mov = databaseManager.createEmptyDataSet(uno_mas, new Array('Codigo','Descripcion','Neto','Iva','Importe'))


	//blanquea descripcion e importe
	for ( var k = 1 ; k <= uno_mas-1 ; k ++ )
	{
		tabla_mov.setValue(k, 1, k);
		tabla_mov.setValue(k, 2, ' ');
		tabla_mov.setValue(k, 3, 0);
		tabla_mov.setValue(k, 4, 0);
		tabla_mov.setValue(k, 5, 0);
	}
	tabla_mov.setValue(uno_mas, 1, 0);
	tabla_mov.setValue(uno_mas, 2, 'Total ');
	tabla_mov.setValue(uno_mas, 3, 0);
	tabla_mov.setValue(uno_mas, 4, 0);
	tabla_mov.setValue(uno_mas, 5, 0);
	
	var $cant = databaseManager.getFoundSetCount(foundset)
	for ( var i = 1 ; i <= $cant ; i++ ) 
	{
		foundset.setSelectedIndex(i)
	//  descripcion
		var d=ctacte_cl_to_tab_mov_cl.descripcion
		tabla_mov.setValue(cod_mov, 2 , d)
	// neto
		tabla_mov.setValue(cod_mov, 3, tabla_mov.getValue(cod_mov, 3) + neto)
	// iva
		tabla_mov.setValue(cod_mov, 4, tabla_mov.getValue(cod_mov, 4) + iva)		
	// importe
		tabla_mov.setValue(cod_mov, 5, tabla_mov.getValue(cod_mov, 5) + importe)
		T_importe+=importe_signo
		tabla_mov.setValue(uno_mas, 3, tabla_mov.getValue(uno_mas, 3) + neto_signo)
		tabla_mov.setValue(uno_mas, 4, tabla_mov.getValue(uno_mas, 4) + iva_signo)
		tabla_mov.setValue(uno_mas, 5, tabla_mov.getValue(uno_mas, 5) + importe_signo)
	}
	// elimina las lineas del dataset que estan en cero creando otro dataset
	var w = 0
	var tabla_final = databaseManager.createEmptyDataSet(0, new Array('Codigo','Descripcion','Neto','Iva','Importe'))
	for ( var k = 1 ; k <= uno_mas ; k ++ )
	{
		if (tabla_mov.getValue(k, 5)!=0)
		{
			w++;
			if (k!=uno_mas)
			tabla_final.addRow(w,new Array(k,tabla_mov.getValue(k, 2),tabla_mov.getValue(k, 3),tabla_mov.getValue(k, 4),tabla_mov.getValue(k, 5)));
			else
			tabla_final.addRow(w,new Array(null,tabla_mov.getValue(k, 2),tabla_mov.getValue(k, 3),tabla_mov.getValue(k, 4),tabla_mov.getValue(k, 5)));
		}	

	}
   }
	var titulo='Ficha Maestra del ' + utils.dateFormat(globals.gFechaDesde , 'dd-MM-yyyy') + ' al ' + utils.dateFormat(globals.gFechaHasta , 'dd-MM-yyyy') 
   	var tipos = new Array (JSColumn.INTEGER,JSColumn.TEXT,JSColumn.NUMBER,JSColumn.NUMBER,JSColumn.NUMBER)
	if (globals.formDS(tabla_final,tipos,titulo,'PREVIEW') == false)
		application.output('FALSE');
   /////////hasta aqui armar dataset
}
else
{
	globals.DIALOGS.showWarningDialog('Aviso','Por favor complete todos los datos','OK')
}*/
}

/**
 * @properties={typeid:24,uuid:"113E68CF-7A2C-4CB4-9A45-6DB521A4150C"}
 */
function iniciar() 
{
	globals.gFechaHasta=new Date();
	globals.gFechaDesde=new Date();
	globals.gFechaDesde=globals.gFechaDesde.setDate (globals.gFechaHasta.getDate() - 30);
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"5C37271B-B7EA-4CD4-A4BD-1F68A25F83CC"}
 * @AllowToRunInFind
 */
function vista_previa(event) 
{  // usa mismo metodo para los 2 botones: si busca usa DIALOG, si no usa PREVIEW
if ((globals.gFechaDesde != null) && (globals.gFechaHasta != null))
{
	databaseManager.setAutoSave(true)
	forms.ficha_1.controller.loadAllRecords()
	forms.ficha_1.controller.find()
	//Rango de Fechas //////////////////////////////
	var d1 = globals.gFechaDesde
	d1.setHours(00);
	d1.setMinutes(00);
	d1.setSeconds(00);             
	var df1 = utils.dateFormat(d1, 'dd-MM-yyyy HH:mm:ss')
	
	var d2 = globals.gFechaHasta
	d2.setHours(23);
	d2.setMinutes(59);
	d2.setSeconds(59);
	var df2 = utils.dateFormat(d2, 'dd-MM-yyyy HH:mm:ss')
	
	forms.ficha_1.fecha_mov = df1+'...' + df2+'|dd-MM-yyyy HH:mm:ss'
		
	//Busco, si encuentra muestra la pantalla y sino, avisa que no encontro nada
	var found = forms.ficha_1.controller.search()
	if (found == 0)
	{
		globals.DIALOGS.showWarningDialog('Aviso','No se encontraron movimientos con esas condiciones','OK')
	}
	else
	{
		foundset.sort('cod_mov asc')
		//**//globals.mostrarForm("ficha_2"); // para llamar a ficha_2 que tenia el dataset se reemplaza por lo sig.
		   	
	// arma dataset con todos lo movs
	var fs_mov= databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'tab_mov_cl')
	fs_mov.loadAllRecords()
	fs_mov.find()
	var found_mov=fs_mov.search()
	if (found_mov == 0)
    {
	   globals.DIALOGS.showWarningDialog('Aviso','No están cargados los tipos de movimientos de Cta. Cte.','OK')
    }
    else
    {	    
	T_importe=0
	//uno_mas=found_mov + 1
	var uno_mas=200 + 1
	var tabla_mov = databaseManager.createEmptyDataSet(uno_mas, new Array('Codigo','Descripcion','Neto','Iva','Importe'))

	//blanquea descripcion e importe
	for ( var k = 1 ; k <= uno_mas-1 ; k ++ )
	{
		tabla_mov.setValue(k, 1, k);
		tabla_mov.setValue(k, 2, ' ');
		tabla_mov.setValue(k, 3, 0);
		tabla_mov.setValue(k, 4, 0);
		tabla_mov.setValue(k, 5, 0);
	}
	tabla_mov.setValue(uno_mas, 1, 0);
	tabla_mov.setValue(uno_mas, 2, 'Total ');
	tabla_mov.setValue(uno_mas, 3, 0);
	tabla_mov.setValue(uno_mas, 4, 0);
	tabla_mov.setValue(uno_mas, 5, 0);
	
	// recorre foundset ctacte
	var $cant = databaseManager.getFoundSetCount(foundset)
	for ( var i = 1 ; i <= $cant ; i++ ) 
	{
		foundset.setSelectedIndex(i)
	//  descripcion
		var d=ctacte_cl_to_tab_mov_cl.descripcion
		tabla_mov.setValue(cod_mov, 2 , d)
	// neto
		tabla_mov.setValue(cod_mov, 3, tabla_mov.getValue(cod_mov, 3) + neto)
	// iva
		tabla_mov.setValue(cod_mov, 4, tabla_mov.getValue(cod_mov, 4) + iva)		
	// importe
		tabla_mov.setValue(cod_mov, 5, tabla_mov.getValue(cod_mov, 5) + importe)
		T_importe+=importe_signo
		tabla_mov.setValue(uno_mas, 3, tabla_mov.getValue(uno_mas, 3) + neto_signo)
		tabla_mov.setValue(uno_mas, 4, tabla_mov.getValue(uno_mas, 4) + iva_signo)
		tabla_mov.setValue(uno_mas, 5, tabla_mov.getValue(uno_mas, 5) + importe_signo)
	}
	// elimina las lineas del dataset que estan en cero creando otro dataset
	var w = 0
	var tabla_final = databaseManager.createEmptyDataSet(0, new Array('Codigo','Descripcion','Neto','Iva','Importe'))
	for ( var k = 1 ; k <= uno_mas ; k ++ )
	{
		if (tabla_mov.getValue(k, 5)!=0)
		{
			w++;
			if (k!=uno_mas)
			tabla_final.addRow(w,new Array(k,tabla_mov.getValue(k, 2),tabla_mov.getValue(k, 3),tabla_mov.getValue(k, 4),tabla_mov.getValue(k, 5)));
			else
			tabla_final.addRow(w,new Array(null,tabla_mov.getValue(k, 2),tabla_mov.getValue(k, 3),tabla_mov.getValue(k, 4),tabla_mov.getValue(k, 5)));
		}	

	}
   
	var titulo='Ficha Maestra del ' + utils.dateFormat(globals.gFechaDesde , 'dd-MM-yyyy') + ' al ' + utils.dateFormat(globals.gFechaHasta , 'dd-MM-yyyy') 
   	var tipos = new Array (JSColumn.INTEGER,JSColumn.TEXT,JSColumn.NUMBER,JSColumn.NUMBER,JSColumn.NUMBER)
   	if(event.getElementName()== 'buscar')
   	{
   		if (globals.formDS(tabla_final,tipos,titulo,'DIALOG',null,'ficha__','ficha_1') == false)
   		application.output('FALSE');
   	}
   	else
   	{
		if (globals.formDS(tabla_final,tipos,titulo,'PREVIEW',null,'ficha__','ficha_1') == false)
		application.output('FALSE');
	}
   	}
    }
}

else
{
	globals.DIALOGS.showWarningDialog('Aviso','Por favor complete todos los datos','OK')
}
}
